package cn.ahaoweb.drule.core.compile.structure;

import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @Name: 函数
 * @Description: 对应drls文件中function
 * @Author: wangzhonghao
 * @Date: 2025/2/7 15:07
 */
@Data
public class DruleFunction implements Serializable {

    // 函数名
    private String name;

    // 函数参数列表
    private List<FunctionParam> parameters;

    // 函数返回类型
    private String returnType;

    // 函数体
    private String body;


    /**
     * 函数参数
     */
    @Data
    public static class FunctionParam implements Serializable{

        // 位置，从1开始
        private Integer idx;

        // 参数类型
        private String type;

        // 参数名
        private String name;

    }

}
